﻿/*  
 Copyright 2010 The 'Tribe.Blog' development team  
 (http://tribecache.codeplex.com/team/view)

 This library is licensed under the Ms-PL Microsoft Public License.  You should 
 have received a copy of the license along with the source code.  If not, an online copy
 of the license can be found at http://tribecache.codeplex.com/license.
 
 http://devplanet.com/blogs/brianr/archive/2008/09/26/thread-safe-dictionary-in-net.aspx
 
*/


using System;
using System.Threading;

namespace Tribe.Cache.Threading
{
    ///<summary>
    /// Base Lock - Base class for all lock types
    ///</summary>
    internal abstract class BaseLock : IDisposable
    {
        /// <summary>
        /// ReadWriterLockSlim
        /// </summary>
        protected ReaderWriterLockSlim ReaderWriterLockSlim;
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="readerWriterLockSlim"></param>
        protected BaseLock(ReaderWriterLockSlim readerWriterLockSlim)
        {
            ReaderWriterLockSlim = readerWriterLockSlim;
        }
        /// <summary>
        /// Dispose
        /// </summary>
        public abstract void Dispose();
    }
}
